bitkeeper revision 1.1159.166.1 (418ab591O6TEN9kVqB36-65GCBC4-w)
authorcl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Thu, 4 Nov 2004 23:04:49 +0000 (23:04 +0000)
committercl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Thu, 4 Nov 2004 23:04:49 +0000 (23:04 +0000)
mk.netbsd-2.0-xenU:
  Delay building until the build tree is created.
  Also add flag file to detect incomplete build tree
  and simplify targets to fetch the tools.
Rules.mk:
  echo -> @echo

buildconfigs/Rules.mk
buildconfigs/mk.netbsd-2.0-xenU

index 1b19f407a8d6b8587c8dbc9f074568a8030d2a70..99405f8415feffec050ff788051f4d8f9d32ed5c 100644 (file)
@@ -19,7 +19,7 @@ vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
 # download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
 linux-%.tar.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$*)).$(word 2,$(subst ., ,$*))
 linux-%.tar.bz2:
-       echo "Cannot find linux-$*.tar.bz2 in path $(LINUX_SRC_PATH)"
+       @echo "Cannot find linux-$*.tar.bz2 in path $(LINUX_SRC_PATH)"
        wget http://www.kernel.org/pub/linux/kernel/v$(_LINUX_VDIR)/linux-$*.tar.bz2 -O./$@
 
 
@@ -35,7 +35,7 @@ vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH)
 
 # download a pristine NetBSD tarball if there isn't one in NETBSD_SRC_PATH
 netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
-       echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
+       @echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
        wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2 -O./$@
 
 netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
index a34edb2c88d41014bb831a39967de6f2154aaed1..d0efb5a9cc34ff6a9974b40086db73a79e936ecb 100644 (file)
@@ -12,32 +12,26 @@ NETBSD_DIR   = netbsd-$(FULLVERSION)
 
 include buildconfigs/Rules.mk
 
-build: $(NETBSD_DIR) netbsd-$(EXTRAVERSION)
+build: netbsd-$(EXTRAVERSION)
 
-NETBSD_TOOLS_SRC ?= $(firstword $(foreach dir,$(subst :, ,$(NETBSD_SRC_PATH)),\
-                    $(wildcard $(dir)/netbsd-$(NETBSD_VER)-tools.tar.*z*)))
-
-netbsd-tools-src: 
-ifeq ($(NETBSD_TOOLS_SRC),)
+netbsd-%-tools.tar.bz2:
        @echo "Cannot find netbsd-$(NETBSD_VER)-tools.tar.gz in path $(NETBSD_SRC_PATH)"
-       @wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$(NETBSD_VER)-tools.tar.bz2 -O./netbsd-$(NETBSD_VER)-tools.tar.bz2
-NETBSD_TOOLS_SRC := ./netbsd-$(NETBSD_VER)-tools.tar.bz2 
-endif
+       wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$*-tools.tar.bz2 -O./$@
 
-netbsd-tools: netbsd-tools-src
-       @[ -d netbsd-$(NETBSD_RELEASE)-tools ] || { \
-               echo extract $(NETBSD_TOOLS_SRC); \
-               tar -jxf $(NETBSD_TOOLS_SRC); }
+netbsd-%-tools: netbsd-%-tools.tar.bz2
+       tar -jxf netbsd-$*-tools.tar.bz2
+       touch $@ # update timestamp to avoid rebuild
 
-$(NETBSD_DIR): netbsd-tools pristine-netbsd-$(NETBSD_VER)
+$(NETBSD_DIR)/.valid: pristine-netbsd-$(NETBSD_VER)
        $(RM) -rf $(NETBSD_DIR)
        cp -al pristine-netbsd-$(NETBSD_VER) $(NETBSD_DIR)
        # Apply arch-xen patches
        ( cd netbsd-$(NETBSD_VER)-xen-sparse ; \
           ./mkbuildtree ../$(NETBSD_DIR) )
+       @touch $(NETBSD_DIR)/.valid
 
 # build the specified netbsd tree
-netbsd-xen%:   
+netbsd-xen%: $(NETBSD_DIR)/.valid netbsd-$(NETBSD_RELEASE)-tools
        $(MAKE) -C netbsd-$(FULLVERSION) config
        $(MAKE) -C netbsd-$(FULLVERSION) netbsd
        $(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(INSTALL_DIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-xen$* install